package main

import "fmt"

func main() {
	//s[low:high:max]
	//第一个数（low）表示下标的起点（从该位置开始截取），如果low取值为0表示从第一个元素开始截取，也就是对应的切片s中的10
	//第二个数(high)表示取到哪结束，也就是下标的终点（不包含该位置），根据公式计算(len=high-low)，也就是第二个数减去第一个数，差就是数据长度。在这里可以将长度理解成取出的数据的个数。
	//第三个数用来计算容量，所谓容量:是指切片目前可容纳的最多元素个数。通过公式计算(cap=max-low)，也就是第三个数据减去第一个数。
	slice := []string{"a", "b", "c", "d", "e"}
	fmt.Printf("len = %d, cap = %d, 8-slice = %v\n", len(slice), cap(slice), slice) // len = 5, cap = 5, 8-slice = [a b c d e]

	slice1 := slice[1:4:5]
	fmt.Printf("len = %d, cap = %d, 8-slice = %v\n", len(slice1), cap(slice1), slice1) // len = 3, cap = 4, 8-slice = [b c d]
}
